package com.reflect;

import java.lang.reflect.*;   
/**  
*通过反射创建和使用更复杂的数组  
*/   


class UserArrayComplex   
{   
 public static void main(String[] args) throws Exception   
 {   
  //声明数组的维数为5X10X15   
  int dims[]=new int []{5,10,15};   
  //创建该类型的数组，元素的类型为Integer   
  Object arr=Array.newInstance(Integer.TYPE,dims);   
  //得到第3个10X15的二维数组   
  Object arrObj=Array.get(arr,3);   
  //Class c=arrObj.getClass().getComponentType();   
  //System.out.println(c);   
  //得到第2维中的第2个15位长度的数组   
  arrObj=Array.get(arrObj,5);   
        //然后设置该数组里第10个元素的值为37   
  Array.set(arrObj,10,37);   
  //再将数组还原   
  int [][][]arrCast=(int [][][])arr;   
  //打印刚刚那个值   
  System.out.println(arrCast[3][5][10]);   
     
 }   
}   
